﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    public class Solution8
    {
        public bool IsPalindrome(string s)
        {
            char[] ss=s.ToLower().ToCharArray();
            int start = 0;
            int end = s.Length - 1;
            while (start < end)
            {
                if (isChar(ss[start]) && isChar(ss[end]))
                {
                    if (ss[start] != ss[end])
                    {
                        return false;
                    }
                    start++;
                    end--;
                }
                else if (!isChar(ss[start]) && isChar(ss[end]))
                {
                    start++;
                }
                else if (isChar(ss[start]) && !isChar(ss[end]))
                {
                    end--;
                }
                else if (!isChar(ss[start]) && !isChar(ss[end]))
                {
                    start++;
                    end--;
                }
            }
            return true;
        }
        public bool isChar(char s)
        {
            if ((s >= 'a' && s <= 'z') || (s >= '0' && s <= '9'))
            {
                return true;
            }
            return false;
        }
    }
}
